perm filename ARPA.72B[DOC,TOB] blob sn#017458 filedate 1972-12-18 generic text, type T, neo UTF8
00100	During the past several years our  vision  effort  has  shifted  from
00200	simple scenes of polyhedra to complex objects in richer context.  Not
00300	all problems with towers of polyhedra have been solved, but there are
00400	a  host  of  reasons  for moving on.  Manipulation has also proceeded
00500	from manipulation of blocks to assembly operations for  many  of  the
00600	same  reasons.    Minsky and Papert have described the central issues
00700	and the intellectual position of robotics in artificial intelligence.
00800	We refer to that discussion as background to our motivation to direct
00900	research to real world scenes and objects.  An  important  motivation
01000	is  to  develop  applications  for  manipulation  and visual feedback
01100	capabilities which have been developed here.  The time is  ready  for
01200	the   first  transfer  of  robotics  technology  from  laboratory  to
01300	prototype assembly stations. We discuss  robotics  applications  more
01400	fully in another section.
01500	
01600	Another  major  motivation is to face new issues; systems have come a
01700	few  steps  toward  heterarchical  systems  from  heirarchy;  from  a
01800	succession  of homogeneous passes with compounding errors to a system
01900	structure where high and low levels interact closely.  One aspect  of
02000	such a system is the use of many functionally independent techniques; this
02100	has meant including experimentation with  color  and  texture,  depth
02200	information,  motion  parallax  and  image prediction.  The choice of
02300	problems as paradigms is central  to  the  way  in  which  perceptual
02400	systems  evolve.    A  great  deal  can be done with simple scenes of
02500	polyhedra using a single image  in  one  color,  ignoring  all  other
02600	perceptual abilities.  Since most perceptual problems can be resolved
02700	within  a  single  image,  one   approach   is   to   exhaust   those
02800	possibilities.    Important  areas  are  missed;  for example, visual
02900	feedback is clumsy without depth information.   For our plans, visual
03000	feedback for manipulation is primary.
03100	
03200	There  are  other  ways  in  which  the  tower  of blocks paradigm is
03300	inadequate  for  our  purposes.    Low  level   feature   description
03400	operators   are   tailored   for   this  case.  Adequate  region  and
03500	edge-oriented descriptors must  be  evolved.   With  polyhedra,  only
03600	simple  preliminary  grouping  mechanisms have been programmed.  More
03700	intermediate level descriptors must be implemented.
03800	
03900	Although real world scenes are much more complicated, they  are  also
04000	simpler  in that they have a much richer context.  There is only very
04100	general knowledge available in the usual blocks task; usually  color,
04200	size,  and  support  are unspecified.  In an assembly task, sizes are
04300	known, color is used to code, and parts fit in special  ways.   Often
04400	recognition  can  be  based on obvious special features.  These tasks
04500	are good exercise in developing goal-oriented visual  systems.  To  a
04600	great  extent, a field is determined by its paradigms: thus character
04700	recognition has been a weak paradigm in  that  almost  any  technique
04800	works  for limited fonts, and many important perceptual abilities are
04900	unnecessary.   Techniques  developed  from  that  domain   have   not
05000	contributed much to three-dimensional vision.
05100	
05200	Techniques  for vision in the blocks world are relatively mature; the
05300	conceptual payoff has  been  substantial,  particularly  in  symbolic
05400	description  of  perfect line drawings, as exemplified by the work of
05500	Huffman, Clowes, and Waltz.  We continue an interest  in  the  blocks
05600	world as a vehicle for strategies and perceptual problem solving.
     

00100	overall significance of information sciences in industry
00200		batch production
00300		control of scheduling, resource allocation, flow routing
00400		commonality of design
00500			find common fabrication and assembly operations
00600			find more common components
00700		increased understandibility and communication
00800			availibility of information
00900				keep track of delayed effects of design decisions
01000				cuts cost of preparation and transmission
01100				increased accessibility of information
01200		
01300	
01400	Although development  and  utilization  of  intelligent  robots  will
01500	progress  gradually,  the  information  sciences will impact industry
01600	enormously over a shorter term. An immediate effect is to  streamline
01700	information  flow  in the manufacturing process.   Simple systems can
01800	keep track of delayed effects of  design  decisions,  lower  cost  of
01900	preparation  and  transmission,  and increase accessibility. Computer
02000	controlled  scheduling,  resource  allocation,   and   transportation
02100	routing  are  important  to  most  of industrial production [Anderson
02200	1972]. We see a major contribution from techniques being pioneered in
02300	artificial  intelligence  laboratories,  and  that such research will
02400	have payoff throughout the entire development of intelligent systems.
02500	Enormous efficiency increases will come from analysis of assembly and
02600	inspection in terms of some "primitive  operations".   In  the  past,
02700	computer  cost and lack of sophistication has limited the ability for
02800	such analysis, and the slow pace of automation has not  pressed  hard
02900	for analysis.  Now it will be possible to find common fabrication and
03000	assembly  operations  throughout  a  large   company,   to   discover
03100	commonality  in  design and components.  The success of that analysis
03200	depends upon representation  of  fabrication  operations  and  shape.
03300	Representation  is  a  current  concern in robotics labs and may have
03400	early applications. This orientation to the manufacturing  system  is
03500	already   beginning  to  have  effect  with  the  "group  technology"
03600	approach, which attempts to describe parts and operations, and  group
03700	them together in one part of the factory.  Until the establishment of
03800	such analysis and commonality of operations, automating will be  made
03900	much more difficult.
04000	
04100	Considerations are similar for programming automation devices such as
04200	the assembly station we describe.  Even if programming is  difficult,
04300	there  will  be  considerable  applications  for  dexterous  assembly
04400	systems. For example, for the military, it is preferable to stockpile
04500	programs than to stockpile parts or systems for contingency. In batch
04600	production, tapes can be saved to cut  stockpiling.  But  to  achieve
04700	full  effect  on  industry, robot systems must be easy to program for
04800	new tasks.  Our current work is concerned  with  strategy  generation
04900	and   automating   visual  feedback.  Time-sharing  systems  will  be
05000	necessary  to  perform  scheduling,  resource   allocation,   routing
05100	operations,  etc.  Thus  there is a natural division of labor between
05200	the time-sharing system and small machines. The strategy  generation,
05300	automating   feedback,  and  interactive  system  for  computer-aided
05400	mechanical design expect to reside in the central system.
05500	
05600	A major part of our effort is directed toward the representation of
05700	complex shapes, for use in vision and strategies.  While it might
05800	seem that this effort has only distant applications, for the reasons
05900	discussed above, early applications will be for convenient man/machine
06000	interaction for programming robots and for systematization. 
06100	We can expect that in general, much of the work in symbolic representation
06200	of the real world will have early payoff.
06300	Present
06400	non-intelligent robots are programmed by specifying points along a
06500	path to be repeated.  With computer control, optional trajectories
06600	can be executed in case of contingency.  The engineer must then specify
06700	what normal function is, how to monitor it, and how to recognize
06800	recoverable situations.  
06900	To do so, he can specify this symbolically in interaction with a program
07000	in which he specifies normal and abnormal conditions, shape of parts 
07100	(usually some variant of standard parts), the mating of parts for assembly,
07200	and schematic descriptions of operations for insertion and inspection.
07300	The significance of representations in general is to aid these processes.
07400	Our representation provides a natural way of speaking about the shape
07500	of objects, in terms of a structured description of part/whole with
07600	primitives which resemble many fabrication operations.  
07700	The better the representation, the more it
07800	provides intuition for programs as to the intent of operations
07900	and the function of parts.
08000	
08100	A representation aids communication in both directions.  We contend
08200	that our representation is important for computer graphics.  This
08300	allows display of the machines concepts to the user, and allows
08400	greater use of predictive mechanisms based on internal models.
08500	Input could be made visually with a depth measuring system such
08600	as we have been using for the last two years.  Since the operation would
08700	be done on a central facility, the computer would be adequate for this task.
08800	We expect that the representation will be of considerable use in monocular
08900	vision also.  We hope to substantiate these predictions.  Another application
09000	is automating design of numerically machined parts.  That will be simplified
09100	to the extent that the machine and the user speak the same language of
09200	subparts and their descriptions.  Benefits would come from ease of programming
09300	and interaction, variable tolerances for critical parts and better
09400	monitoring operations.
     

00100	
00200		  THE PILOT ASSEMBLY STATION
00300	
00400	We seek funds from other sponsors to apply robotics techniques to
00500	industrial assembly and inspection.  We will implement a prototype
00600	assembly station and a support system for programming the assembly
00700	station for its tasks.
00800	
00900	The  assembly  station is assumed to be normally connected to a large
01000	time-shared computer facility. Not only does this appear to be a good
01100	design  for  our  problem, but it is also necessary for an integrated
01200	programmed automation facility.  The only emphasized statement in the
01300	ARPA  study  report  [Anderson  1972]  is:   "The  maximum  impact of
01400	computers  in  manufacturing  will  come  from  complete,   real-time
01500	computer  cognizance  and  control  of  all  processes and resources,
01600	allowing the precise scheduling and allocation of these resources."
01700	
01800	Each assembly station will consist of a small digital  computer,  one
01900	or  more  manipulators  and cameras. Manipulators and cameras will be
02000	combined as modules in systems to suit a given task,  and  will  be
02100	digitally controlled by the station computer.
02200	
02300	The program in the station computer will be flexible as to the number
02400	and position of manipulators and cameras. It will control input  from
02500	the  cameras,  provide for some pre-processing of the picture and the
02600	application of simple tests to the visual data.     In  the  case  of
02700	manipulators  it will provide for simultaneous servo control. It will
02800	also process  other  inputs,  such  as  from  touch  sensors  on  the
02900	manipulators,  from photocell interrupt devices, limit switches, etc.
03000	Both analog and binary outputs will be available for the  control  of
03100	other devices.
03200	
03300	Each  station  computer will have access to a task program specifying
03400	the actions and tests it should perform to carry out its task.   This
03500	task program will be compiled by the central computer.    Compilation
03600	will consist of the analysis of predicted scenes in order to  specify
03700	simple tests that the station computer can carry out, the calculation
03800	of collision free trajectories for the manipulators, the sequence  of
03900	operations  and  simple  contingency plans. etc.  We are planning for
04000	tasks  whose  normal  execution  does  not  require  detailed   scene
04100	analysis.  If scene analysis becomes necessary  (e.g. a dropped part)
04200	we envision the station sending an image to the central computer  for
04300	processing.
04400	
04500	The  central  computer will perform overall control of the individual
04600	assembly stations and the relative rates of production.   If  at  any
04700	station  a  planned test fails, for which a contingency plan does not
04800	exist, or any unexpected sensor signals  are  received,  the  central
04900	computer will also be interrupted and appropriate actions taken.
05000	
05100	Most of the hardware required for the assembly station has been
05200	developed for  the  laboratory.  Manipulators  and  cameras  will  be
05300	discussed  in detail below. The major additional problem is to refine
05400	the  existing  designs  to  meet  the  demands   of   an   industrial
05500	environment.
05600	
05700	In  addition we will purchase a small computer such as the PDP-11 and
05800	interface the existing arms to it together with one or more  cameras.
05900	A  software  package for the small computer will then be developed in
06000	order to control the manipulators, read the TV cameras and to perform
06100	low  level  visual  analysis.  Programs  to plan tasks, calibrate the
06200	system and to perform higher level visual  analysis,  error  recovery
06300	and  strategy  planning will be written in a high level language for
06400	the time-sharing processor.
06500	
06600	The most difficult part of the assembly station, and the heart of the
06700	of the proposal is a demonstration of the feasibility of the station.
06800	We plan to do this by developing programs which actually assemble and
06900	inspect a variety of fairly complex manufactured items.
07000	
07100	A  typical  example is our current project, assembly of an automobile
07200	water pump. The major  parts  are  to  be  located,  the  screws  are
07300	supplied by a feeder, as is standard.  Locating the body and cover of
07400	the pump require a gross localization, then a  fine  localization  of
07500	screw  holes.    Touch  provides  a  final  accuracy  and independent
07600	coordination of the hand.   The  placing  of  alignment  pins  within
07700	screw  holes  could  be monitored visually; although in this case,the
07800	previous actions provide adequate accuracy.   Placing  of  the  cover
07900	over  alignment  pins  can  be  carried out without vision.  Improved
08000	force  sensing  now  under  development  will  be  useful  for   that
08100	operation.
08200	
08300	As  we move to more difficult tasks, the sophistication required goes
08400	up quite rapidly.  The  current  manipulation  routines  seem  to  be
08500	expandable  to cover anticipated problems, especially since we intend
08600	to employ special purpose manipulators (tools) for some  tasks.   The
08700	main part of our effort will be vision for assembly; an assembly task
08800	will be performed using vision, touch, and two hands.     The  vision
08900	effort  will  be  integrated with other abilities, and while no great
09000	generality will be stressed, new modules will  be  incorporated  into
09100	the  system,  and a set of techniques will evolve.  These will depend
09200	heavily on techniques similar to  those  of  our  recent  studies  in
09300	visual  feedback  and hand/eye coordination [Gill 1972]. The internal
09400	model of the world will be  used  to  predict  visual  appearance  of
09500	selected  areas  of  the  scene, and a set of verification procedures
09600	will confirm or contradict the predictions.  Many of  the  operations
09700	will  be  connected  with  supplying  feedback  to  manipulation, for
09800	alignment and insertion. These visual procedures will have models for
09900	the parts and approximate locations.
10000	
10100	
10200	
10300	
10400	This and other visual tasks connected with assembly will initially be
10500	This and other visual tasks connected with assembly will initially be
10600	performed as special case  problems.   In  addition,  to  make  these
10700	techniques   available,   we  will  pursue  development  of  strategy
10800	programs.  This step is essential if intelligent assembly devices are
10900	to  be conveniently programmed for complex tasks. Within the division
11000	of labor between large and small machines, this facility must  reside
11100	in  the  central  time-sharing  facility which has large memory, file
11200	storage, and problem-solving languages. The system must have a  model
11300	of  the  parts  for  assembly,and  a  sequence  of  instructions  for
11400	assembly. It will be necessary to have a representation of shape  and
11500	models for usual assembly operations such as insertion and alignment,
11600	and the ability to solve simple problems  in  connection  with  these
11700	operations,  all  this  to  enable  convenient communication with the
11800	user. When these facilities exist, the addition of new  features  and
11900	operations  can be incorporated smoothly, so that users can call on a
12000	growing library of planning modules.  The result of a planning effort
12100	is  a  cycle  of  machine  planning and man-machine interaction which
12200	results in a plan  network  for  the  mini  computer  which  controls
12300	individual machines.
     

00100	Will  the  incremental  cost  of  touch,  force and visual sensors be
00200	offset by the opening of new  capabilities,  and  will  the  cost  be
00300	offset  by  reduced  cost  of  system design for machines which allow
00400	loose  alignment  tolerances?     We  estimate  that  by  1977,   the
00500	incremental cost of visual sensors, a laser ranging device such as we
00600	use now, additional memory requirements, with the multiple of two  in
00700	marketing,  will  add about 15%-20% to current manipulator prices. If
00800	labor costs continue to rise, part of the increase  will  be  offset,
00900	but cost comparisons will not change appreciably over that time scale
01000	unless significant new mechanical designs are made.      A conclusion
01100	is that sensor-equipped robots will be available at slight additional
01200	cost.   We  explore  the  benefits  of  incremental  improvements  to
01300	manipulators.
01400	
01500	We do not expect mechanical production costs to drop as  dramatically
01600	as electronics costs fall with integration.   The most promising cost
01700	reduction development would be high-production standard modules  such
01800	
01900	as  robots.     As an example, consider the Stanford arm; produced in
02000	unit  quantity,  parts,  manufacturing   and   assembly   costs   are
02100	approximately  $10K.    The  arm  is much simpler than an automobile;
02200	there is no reason why it should  cost  more.
02300	
02400	Potentially,  a  robot with two arms, minicomputer control, and touch
02500	sensors can be constructed for about $10K in quantity.
02600	This  is  the  range of price of present transfer machines which have
02700	limited market because they have limited motion, no control, and  are
02800	thus  locked  out  of  the economy of scale. There is a dynamic which
02900	leads to economy of scale; the greater the versatility, the wider  is
03000	the  market for applications. This will be true particularly in small
03100	production and job shop  operations  which  have  been  difficult  to
03200	automate.     The larger the production, the more versatility for the
03300	same initial cost as special  devices.     Also,  with  high  volume,
03400	standardization of maintenance, and availability of parts and service
03500	are improved.  The quality of the device is also improved.
03600	
03700	The economies of scale in production of assembly modules are  matched
03800	by  economies  of  intellectual  scale  in  development of design for
03900	automation.   This approach to advanced automation saves much  wasted
04000	effort.   The  design process is modularized and easily communicable;
04100	there  is  a  common  discipline  which  can  be   widely   absorbed;
04200	developments  of  many  sources can be integrated.    Programming and
04300	training done once for one machine can be transferred to all machines
04400	in  a plant, and even transferred nationwide.   Functional modularity
04500	has been emphasized in our studies. Modularity  is  clearly  possible
04600	and there is a powerful economic incentive to assemble widely varying
04700	systems from one, two, or three arm modules, force and touch modules,
04800	vision  and  ranging  modules,  with planning and monitoring modules.
04900	This  would  also  entail  software  modularity  with  computer-aided
05000	mechanical  design  and  job  specification  for robots on a local or
05100	network time-sharing service.
05200	
05300	The alternative is special design for each operation.  We expect that
05400	at  some  point,  design  will be cheaper with standard robot modules
05500	than with special purpose designs, just as it is now more  economical
05600	to  use  mini-computer  controllers than special purpose controllers.
05700	Modularity has the  potential  to  reduce  design  time  and  improve
05800	predictability  of  design time and costs, permitting better planning
05900	and  response  to  competition.  To  some  extent,  the   dehumanized
06000	industrial  worker  now fills the role of standard module, so that we
06100	do not expect discontinuous change. The continuity  with  decades  of
06200	experience  with  design  for  human  versatility  in assembly can be
06300	relied upon;  robots  with  some  versatility,  sensing,  contingency
06400	actions,  and  dexterity  will  provide a transition to newer schemes
06500	which will evolve more slowly. Advances which  benefit  special  case
06600	automation  and traditional trends in automation for human production
06700	will also aid general purpose devices.   For example, new  techniques
06800	in  bonding and fastening will simplify many assembly tasks to within
06900	the  capability  of  robots,  while  still  too  complex  for  simple
07000	servomechanisms.  Another  advantage of general purpose techniques is
07100	the ease with which the size of the robot can be scaled up  or  down.
07200	
07300	           
07400	There  appears to be no difficulty in making very large or very small
07500	assembly stations which use essentially the same programs.
07600	
07700	Versatile  assembly  devices  have   an   efficiency   advantage   in
07800	utilization   in   medium   scale  and  job  shop  production;  their
07900	utilization efficiency can be higher  because  versatility  allows  a
08000	variety  of  operations  to  be  scheduled  at one station.       The
08100	availability of computers for production scheduling  will  allow  the
08200	flexibility  to  be used to advantage.  Robots would also have longer
08300	life over which to amortize costs,  since  they  could  operate  with
08400	greatly  changed  production operations, and evolve with new hardware
08500	and software modules.     They would have higher  reliability,  since
08600	they  would  have monitoring, contingency action, and error recovery.
08700	They would be self-aligning, self-calibrating, and  self-testing.  In
08800	many  cases,  system  costs  would  be smaller with advanced assembly
08900	devices.  With simple devices, transfer and assembly operations  must
09000	be  broken  down  into  small  operations  with  transfer  operations
09100	between.       This   introduces   extra   transfer   devices    with
09200	orientation-preserving   or   re-orienting   steps,  and  overlapping
09300	operations which can be combined in an advanced  device.  Robots  can
09400	cut  down on real estate, since several operations can be done at one
09500	station.  A robot which  can  pick  parts  from  a  cart  would  save
09600	considerable  space over belts and assembly lines which require large
09700	floor space.    Because of  the  adaptibility  of  work  stations,  a
09800	quicker  response to market and competition is possible.   Production
09900	runs can be smaller, with less  capital  tied  up  in  inventory  and
10000	unused  machines.   There can be better response to the needs of high
10100	technology  industry  which  often  requires  small   quantities   of
10200	instruments.    There  has  been  difficulty  in  meeting  the  tight
10300	tolerances necessary for operation of non-intelligent devices.     It
10400	is  hard  to  estimate the value of systems which work within current
10500	industrial tolerance, rather than requiring radical  improvements  in
10600	engineering practice, but that continuity does seem important.
10700	
10800	The  development  of  general  purpose  assembly devices will benefit
10900	manufacturers and a broad spectrum of industry,  particularly  medium
11000	scale  manufacturing.    Partially  because  these  techniques do not
11100	create a new product and because they have very wide  utility,  there
11200	does  not seem to be a private institution with the competence or the
11300	desire to undertake this program.   It is  an  appropriate  area  for
11400	governmental action to help meet a national need.
11500	
11600	But given sensor-equipped robots at little extra cost, they will have
11700	visual ability  to  sense  color,  strong  contrasts  in  brightness,
11800	recognize  known  objects  from two dimensional outlines (top view of
11900	flat object) or three dimensionally using depth, to a certain  extent
12000	they  will  be  able  to  recognize  three  dimensional objects using
12100	monocular recognition.   They will be able to visually  align  mating
12200	parts    in    assembly    operations,    increase   reliability   by
12300	self-calibration and flaw and disaster detection,  and  permit  large
12400	tolerances  in parts transfer, even permitting parts to be taken from
12500	
12600	a bin.       Several of these abilities are not yet available in  the
12700	laboratory,   but   with  known  conditions  and  objects,  and  some
12800	engineering (e.g. color coding) are achievable within the  time  span
12900	of a few years.
     

00100		RESEARCH IN VISION
00200	
00300	Our past work on visual feedback [Gill 1972] in stacking objects  and
00400	inserting  objects  in  holes  is  directly  relevant  to  vision for
00500	assembly.  The system provides feedback for picking up, then  at  the
00600	final  position,  with  the hand still holding the block and in view,
00700	predicts the appearance of edges and corners within  a  small  window
00800	around  the  faces  to  be  aligned, and uses a corner/edge finder to
00900	determine alignment error. Incremental motion capability of  the  arm
01000	is   used   for   error   correction.        That  work  incorporates
01100	self-calibration to coordinate hand and eye  coordinate  systems  and
01200	provide  for  reliability,  as  well as to limit search by accurately
01300	predicting expected features. Two well-developed systems exist to aid
01400	future  work  in  visual  feedback.   GEOMED  [Baumgart  1972a]  is a
01500	geometric editor which allows  the  input  of  geometric  models  and
01600	manipulation  of  these  models.  OCCULT [Baumgart 1972b] is a hidden
01700	line elimination program which gives a symbolic output, valuable  for
01800	vision, in a few seconds.
01900	
02000	We  have  a  set  of  visual operations which provide confirmation of
02100	predictions and direct  interaction  with  the  visual  image.    For
02200	outdoor  scenes,  color is an important basis for region forming, and
02300	for preliminary scene organization. Several preliminary color  region
02400	analysis  programs  have been developed [Binford, unpublished, Bajcsy
02500	1972].   These will be extended as described below. An edge  operator
02600	[Hueckel 1969,1972] and a region-based corner/edge finder [Gill 1972]
02700	both operate on small windows of the scene, as directed by  a  higher
02800	level.    An  edge  verifier  is  used  to  confirm  or  reject edges
02900	predicted from context [Tenenbaum  1970].  Color  identification  has
03000	long  been  demonstrated.  Recently,  a  program has been implemented
03100	based on Land's Retinex model of color  constancy  in  vision.   This
03200	involves  taking  intensity measurements with the camera through red,
03300	green, and blue filter, and setting up a calibration scheme  for  the
03400	Goethe  color  triangle in the absence of any external color standard
03500	(white).  This is achieved by normalizing the intensities of  regions
03600	within  the  scene through each filter, and defining a color triangle
03700	derived from this ordering data, with  the  center  of  the  triangle
03800	designated  as  white. The regions may then be assigne color names in
03900	the normal way.  The program as it stands can  cope  reasonably  well
04000	with  table  top  scenes under varied lighting conditions - sunlight,
04100	quartz-halogen and flourescent, and therefore shows the same kind  of
04200	color constancy as do humans.
04300	
04400	We  have  directed part of our work to analysis of outdoor scenes and
04500	to  techniques  which  are   especially   important   for   planetary
04600	exploration  and  the automatic driver.  Outdoor scenes were analyzed
04700	with a combination of  color  and  texture  region  analysis  [Bajcsy
04800	1972];  depth  cues  were  taken  from  the  gradient  of texture.  A
04900	symbolic representation of texture and of  the  world  were  adopted;
05000	descriptors of texture elements were obtained as analytic expressions
05100	from the Fourier spectrum.  A considerable improvement could be  made
05200	by  combining  these  techniques with several techniques which obtain
05300	depth  information  from  correlation  of  images.  Motion   parallax
05400	[Nevatia  draft]  has  been  used  with  a succession of images.  The
05500	successive images differ little from  one  another  and  allow  local
05600	correlation  without  ambiguity.   In  a  sense,  this  combines  the
05700	advantages of narrow and wide angle stereo, since stereo ambiguity is
05800	avoided, while large baselines can be accumulated by tracking regions
05900	over several images. Another system incorporates  several  facilities
06000	in  wide  angle  stereo  [Hannah, Quam]; local statistics are used to
06100	limit search for correspondence of small areas  in  two  images.   An
06200	interesting  feature  is  self-orientation:  given  two cameras whose
06300	orientation is unknow, the system uses guided search to  establish  a
06400	few  correspondences, then determines the relative orientation of the
06500	two cameras.  Such self-orientation and  self-calibration  facilities
06600	have  considerable  significance  for industrial systems which can be
06700	maintained  calibrated.   These  are  complementary   depth   sensing
06800	techniques;  motion  parallax  can  be  used  for  planning paths and
06900	characterizing large scale terrain features.  Two  camera  stereo  is
07000	important  for  local  manipulation  and  disaster avoidance.  Visual
07100	feedback with stereo vision is much more powerful than  without.   We
07200	have   a  program  which  has  demonstrated  stereo  visual  feedback
07300	[Binford, unpublished].
07400	
07500	A thesis by Agin [Agin 1972] showed considerable progress in
07600	
07700	representation and description of complex objects.  He implemented  a
07800	laser  ranging  device [Binford 1970] which was operational two years
07900	ago.   Using depth data and a representation of shape [Binford  1971]
08000	which  we  have developed, we have been able to describe the parts of
08100	objects  like  a  doll,  snake,  and   glove   [Agin   1972].     The
08200	representation is based on segmenting objects into parts connected at
08300	joints.   Parts  are  described  by  a  volume  representation   with
08400	arbitrary  cross  section defined along a space curve.  The data were
08500	analyzed by techniques suggested by the representation.   Preliminary
08600	segmentation  was made into parts suggested by some primitives of the
08700	representation, smoothly  varying,  locally  cylindrical  parts.   An
08800	iterative  procedure  defined  an  approximation  to  the axis of the
08900	segment, fit  circular  cross  sections  normal  to  the  axis,  then
09000	obtained  an  estimate  of  a global cross section function which was
09100	then used to extend the axis and cross section as far as  consistent.
09200	
09300	A study of visual and depth ranging techniques has been  carried  out
09400	which  provides  a background for choosing sensors and interface, and
09500	making cost estimates [Binford 1972,Earnest 1967].    An  interesting
09600	result  is  that  the  cost of a laser ranging system such as ours is
09700	less than $1k given a tv system. We have maintained a calibrated hand
09800	and  vision system for several years [Sobel 1970], and have developed
09900	self-calibration  techniques  with  one  and  two  eyes   [Yakimovsky
10000	unpublished, Hannah 1972, Gill 1972].
10100	
10200	A  system  for  understanding  scenes of blocks from single views has
10300	been implemented [Falk 1970]; it segments  objects,  matches  against
10400	internal  models,  predicts  appearance  from  its  assumptions,  and
10500	searches for verification and contradiction based  on  the  predicted
10600	image.    Support and spatial relations are also obtained.  There has
10700	been past work on programs  to  obtain  line  drawings  as  input  to
10800	recognition  systems.  An earlier system was based on limited context
10900	of expecting continuation of edges at vertices and predicting missing
11000	edges  in certain expected configurations [Grape 1970]. A more recent
11100	approach has been to use models within the process of generating line
11200	drawings,  so  that  the  most  reasonable next guess can be made and
11300	context used intrinsically in the formation of line drawings.
11400	
11500	VISUAL DEVELOPMENT FOR ASSEMBLY
11600	
11700	In the pump assembly, visual tasks consisted  of  gross  location  of
11800	large parts, then using the information to predict location of images
11900	of holes, and monitoring of insertion into holes.   These  tasks  are
12000	typical  of  the  simple visual operations which we will implement or
12100	adapt.   We will greatly expand our efforts with visual feedback.  At
12200	present, visual feedback techniques are limited to polyhera.  We will
12300	improve image prediction techniques to predict images of objects with
12400	
12500	curved edges.  We will develop a simple region analysis program which
12600	assumes adequate contrast to locate the curved edges predicted within
12700	a small window.   Color  will  be  used  when  necessary.    We  will
12800	implement  two-dimensional matching of boundary curves with predicted
12900	curves.  These will be combined with our existing edge  operator  and
13000	corner/line  operator.   We  will  maintain  a  calibrated system and
13100	improve calibration updating so that reliability is maintained  at  a
13200	high level.
13300	
13400	VISION RESEARCH
13500	
13600	We  will improve the laser hardware so that it can be used widely and
13700	extend our work with representation of complex  objects  using  depth
13800	data.   We  are  able  to make complete descriptions of objects which
13900	consist of a single primitive segment, such as a torus, a snake or  a
14000	cone.   The  programs  can  segment dolls, toy horses, in intuitively
14100	natural ways [Agin 1972]. It is necessary to improve our segmentation
14200	process  in  order to proceed to joining primitive segments at joints
14300	and make complete descriptions of  complex  objects.   When  we  have
14400	these  descriptions,  the computer will have symbolic internal models
14500	of objects.   No recognition has yet been done, although we are in  a
14600	position  to  recognize  those  objects which have only one primitive
14700	segment, for which we can make complete descriptions. For recognition
14800	of  more complex objects, once we have complete descriptions, we will
14900	encode the basic properties of the  representation  within  a  visual
15000	memory   scheme   which   allows   access   of  hypothesized  similar
15100	three-dimensional shapes, with  associated  surface  information,  to
15200	compare more closely with extensive verification.  We intend to apply
15300	large parts of our programs for description and recognition of curved
15400	objects  using  only  monocular intensity information. This is a much
15500	harder problem, but within our representation,  shares  much  of  the
15600	same  code,  and  relies  on  the  same  conceptual  basis  of  local
15700	three-dimensional models.
15800	
15900	
16000	We  will  continue  work  on  color region analysis which is based on
16100	proximity rather than contiguity.  This  was  the  plan  outlined  in
16200	previous  progress  reports, and has shown necessary by our work with
16300	textured  scenes  [Bajcsy  1972].  Another  effort  combines   region
16400	analysis  with  a decision theoretic approach based on a world model.
16500	We anticipate that these modules will aid the  integrated  system  to
16600	function in more complex environments than have been attempted in the
16700	past.  There is a growing effort on navigation of vehicles in outdoor
16800	scenes.   While  this  is  not  directly  relevant  to the industrial
16900	environment, it does  reflect  the  growing  involvement  in  complex
17000	visual  tasks,  and will lead to further development of an integrated
17100	visual system.
17200	
17300	A strategy project is underway dealing with the  blocks  world.   The
17400	project  begins  from  the  idea  that robot vision cannot be studied
17500	except as a part of intelligent behavior in general.  Visual  ability
17600	is  FOR  something,  and  without  reasonable  expectations about the
17700	world, the task of seeing is bound to  be  extremely  difficult.   We
17800	plan  to  implement  a  system which can do simple manipulation tasks
17900	("pick up the red block", "put all the  cubes  in  the  box")  in  an
18000	environment of plane-faced objects, and operating in a dialogue mode.
18100	The system will have a good but imperfect world model all  the  time,
18200	and the essence of its ability will be the constant use of this model
18300	to understand situations and in particular  to  recover  from  errors
18400	("Is  that  block  no longer there because the arm knocked it off?").
18500	The main point of the project is to  find  a  good  organization  for
18600	knowledge  about  the  simple world in question:  we expect that when
18700	this is done the  complex  subroutines  of  current  vision  programs
18800	(linefinders  etc)  will be found to be unnecessarily complex in that
18900	they embody in an inefficient way at a low level, knowledge which our
19000	system  will contain at a higher level. In part, this will be done by
19100	expanding the facilities available.  A  stereo  vision  effort  using
19200	line  drawings  and  integrating  stereo  with  the  segmentation and
19300	recognition processes.
19400	
19500	We are at work on a program which exploits new features of SAIL for
19600	dealing with multi-process tasks in a problem-solving environment.  The 
19700	aim is to construct a driver program to accomplish a simple assembly
19800	task under somewhat uncertain conditions.  Making use of the new language
19900	features, one can arrange for such a program to cope with errors in the
20000	execution of tasks - e.g. to recover from dropping things, breaking things,
20100	and further to try several different but possibly cooperative methods for
20200	solving a problem.  It is intended that this program will have its own vision procedures
20300	specially adapted for finding tools, e.g. wrenches, screwdrivers, etc.,
20400	and parts, e.g. nuts and bolts. An interpreter is being developed to allow
20500	flexible description of the task by the user. 
20600	
     

00100	 MANIPULATOR DEVELOPMENT
00200	
00300	Manipulator   research  began  at  Stanford  Artificial  Intelligence
00400	Laboratory  in  1965  with  the  acquisition  and  programming  of  a
00500	prototype  Rancho Orthotic Arm.  A later version of this arm was used
00600	in vision directed block stacking programs.
00700	
00800	Our present arm, the result of a continuing design project,  replaced
00900	the  Rancho Arm in 1970. This arm like its predecessor was controlled
01000	by a digital servo program running under the time  sharing  computer.
01100	The new arm was used in the "Instant Insanity" demonstration in 1971.
01200	A second arm of the same type,  with  only  minor  modifications,  is
01300	currently  being interfaced to the computer.   Both arms will share a
01400	common work space and will  be  able  to  be  used  individually,  or
01500	together for two handed tasks.
01600	
01700	Each  joint  of  the  arm  is calibrated in terms of torque v.  drive
01800	level and it is possible to predict the joint drive levels to produce
01900	a  given  force at the hand. Further, for the hand to exhibit degrees
02000	of freedom of motion, various joints are selected to be "free",  that
02100	is  to have no position feedback applied to them. By exerting a force
02200	at the hand and providing that certain degrees of freedom exist it is
02300	possible  to  perform  a  much  wider  class  of  tasks  than  simple
02400	positional control, for instance screwing in  screws,  mating  parts,
02500	inserting tools and turning cranks.
02600	
02700	Touch  sensors on the fingers allow the hand to sense objects without
02800	disturbing them.   When activated the arm will stop when any  of  the
02900	sensors  touch.  Branching arm instructions can test the state of the
03000	sensors and modify the execution of an arm program. When  screwing  a
03100	nut  onto  a  bolt, for instance, the hand is first centered over the
03200	bolt by touching it.
03300	
03400	Control of the arms is by a series of high level instructions;  these
03500	instructions  may  be executed directly, or may be assembled together
03600	into an arm program. Arm programs may then be executed,  as  desired,
03700	by  the  control  program.   The control instructions may be accessed
03800	directly by other programs, using the message procedure mechanism, or
03900	in the form of symbolic source file.
04000	
04100	Positional  accuracy  at  the  hand  is  typically  0.1  inches  with
04200	repeatibility of 0.02 inches. Force control at the hand is within  10
04300	ounces. The data rate to run the arm from an assembled arm program is
04400	of the order of 100 bits/second.
04500	
04600	Manipulator research moves  ahead  simultaneously  on  three  fronts:
04700	control,  primitives  and  devices.      Tasks are translated into an
04800	existing hand language and where the task cannot be  accomplished  in
04900	terms  of  existing  primitives,  new  primitives are formulated in a
05000	consistent manner.   When a new primative is  formulated,  real  time
05100	routines  are  developed  to perform the action.  This also leads, in
05200	many cases, to the development of  new  hardware.       Also  as  new
05300	
05400	                                 10                                  developments  occur  in  hardware design, existing real time routines
05500	are either re-written or modified.
05600	
05700	Research is now concentrating on the following areas:
05800	
05900	Strain gauge instrumentation of the wrist, in order to allow for more
06000	sensitive  interaction  of  the  hand with a task.   High resolution,
06100	high sensitivity touch sensors, to increase tactile  recognition  and
06200	control  abilities.     These  developments  will lead in turn to new
06300	control concepts.
06400	
06500	Development of tools for the hand. These tools  can  be  instrumented
06600	such  that  the  computer can feel and or see at the end of the tool.
06700	This should be a very important area of research as  it  goes  beyond
06800	present human capabilities.
06900	
07000	Two handed arm control, the planning and execution of tasks requiring
07100	the coordinated motion of both arms. This will require  an  extension
07200	of  the  existing  servo  program and the analysis of synchronization
07300	problems. The development of collision avoiders, so that arms will
07400	not collide with other objects and with each other.
07500	
07600	Modification  of  the  existing  arm  design  to  provide  for better
07700	incremental motions, more degrees of freedom and a more rugged design
07800	suitable  for  industrial  use.   Development of arm and eye computer
07900	interfaces.   These contain  synchronized  analog/digital  converters
08000	for input and current controlled drivers for output.
08100	
08200	The  development  of  new hands is expected as more complex tasks are
08300	attempted.   At present, with only one hand, we have been  performing
08400	the  positioning  type  of  hand  actions.   When  the  second arm is
08500	operational we will be able to perform holding and pulling actions as
08600	well.
08700	
08800		D.  SYSTEM REQUIREMENTS FOR ADVANCED AUTOMATION
08900	
09000	A  key  element in the development of any large programming effort is
09100	the software support.  There has been continual  effort  along  these
09200	lines  at  the  Stanford  Artificial Intelligence Laboratory and many
09300	useful ideas have been developed.  We propose to extend the  research
09400	along  two  separate lines:  support for research and system software
09500	for operating automated systems.  We will briefly describe  our  past
09600	efforts in this area and what we propose to undertake.
09700	
09800	The Stanford Artificial  Intelligence  Laboratory  has  pioneered  in
09900	several  areas  of system programming, including timesharing systems,
10000	interactive graphics, and programming languages.
10100	
10200	A great deal of additional effort has gone  into  direct  support  of
10300	hand-eye  research.   Very  early,  we  established a set of standard
10400	formats and library routines [Pingle 72a].  A  programming  language,
10500	SAIL,  was  implemented  in  1968.  The language incorporates special
10600	
10700	                                 11                                  features for large real-world-oriented problem solving systems and is
10800	currently  in  use  at  a number of Artificial Intelligence and other
10900	laboratories.
11000	
11100	As  we began to assemble larger and more sophisticated collections of
11200	programs, we felt a need  for  flexible  mechanisms  for  cooperating
11300	sequential  processes.  The resulting monitor and language features [
11400	Feldman & Sproull 1971]  have  worked  well  for  us  and  have  been
11500	influential   on   other  projects.    Recently,  we  have  added  an
11600	additional set of features to SAIL  to  facilitate  non-deterministic
11700	and  event-directed  programming.   The early reactions to this work,
11800	both within the laboratory and without has been very encouraging.
11900	
12000	We expect relatively little work to  be  needed  on  further  systems
12100	support  for  basic  research.   There will undoubtedly be efforts to
12200	take advantage of new hardware and of new programming ideas that  may
12300	develop  in  the  course  of  this program.   Almost all of this work
12400	should be covered by other funding.
12500	
12600	The development of software for the  assembly  station  will  require
12700	more  of  our  effort.  The octupus configuration requires code to be
12800	resident in the local computer and in the shared machine.    The  low
12900	level  programs in the local machine will not be modified often, thus
13000	we can assume that a PDP-l0  resident  compiler  will  suffice.   The
13100	planning programs and general vision programs will be resident in the
13200	shared system.  There are two possible configurations for the  shared
13300	computer  system:   A PDP-10 equivalent machine or a software package
13400	in ASA Standard Fortran IV which will run on any  sufficiently  large  2nd ???
13500	machine.    One of the tasks under this proposal would be to evaluate
13600	these two alternatives.
13700	
13800	A major share of the programming research effort will be concentrated
13900	on developing a programming system for automated assembly.  This will
14000	combine ideas  from  our  past  work  on  languages,  representation,
14100	computer  graphics and arm control.  We view this task as a branch of
14200	the larger effort on automatic programming being undertaken  in  this
14300	laboratory aad elsewhere.
14400	
14500	
14600	
14700	
14800	
14900	
15000	
15100